/*	Nama file		: mCalender.c
	Deskripsi		: Driver type dan prototype primitif Calender dengan menggunakan Priority Queue dengan list linier berkait
	Nama pembuat	: Muhammad Ghufron Mahfudhi / 23512066
	Hari / Tanggal	: Senin, 1 Oktober 2012
*/

#include "Calendar.h"

int main(){
	/* Kamus Lokal */
	ListCal C;
	Event E1, E2, E3, E4, E5, E;
	addressCal P;
	/* Algoritma */
	
	printf("\nMembuat 5 Event\n");
	BacaEvent(&E1);
	BacaEvent(&E2);
	BacaEvent(&E3);
	BacaEvent(&E4);
	BacaEvent(&E5);
	
	printf("\nMemasukkan 5 event ke dalam kalender\n");
	CreateEmpty(&C);
	Add(&C, E1);
	printf("1\n");
	Add(&C, E2);
	printf("2\n");
	Add(&C, E3);
	printf("3\n");
	Add(&C, E4);
	printf("4\n");
	Add(&C, E5);
	printf("5\n");
	
	printf("\nJumlah event dalam kalender: %d\n\n", NBElmt(C));
	
	//Update(&C, 2);
	
	printf("Menampilkan event dalam kalender\n");
	ViewNFirst(C, NBElmt(C));
	
	printf("Menampilkan 2 event pertama dalam kalender\n");
	ViewNFirst(C, 2);
	
	printf("Menampilkan 2 event terakhir dalam kalender\n");
	ViewNLast(C, 2);
	
	printf("Mencari event dengan nomor : %d\n", GetEventNo(E3));
	P = SearchEvent(C, GetEventNo(E3));
	if(P!=NULL){
		TulisEvent(Info(P));	
	}
	else{
		printf("Elemen tidak ditemukan\n");
	}
	
	printf("\nMenghapus elemen dengan nomor event: %d\n", GetEventNo(E3));
	DelParam(&C, GetEventNo(E3));
	ViewNFirst(C, NBElmt(C));
	
	printf("Menghapus semua event dalam kalender\n");
	DelCal(&C);
	ViewNFirst(C, NBElmt(C));
	
	return 0;
}
